home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / bbs / pcsuni1.zip / VOTER404.ZIP / VOTE.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1997-03-24  |  34KB  |  1,436 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Integer  INTEGER001
  23.     Integer  INTEGER002
  24.     Integer  INTEGER003
  25.     Integer  INTEGER004
  26.     Integer  TINTEGER005(99)
  27.     Integer  INTEGER006
  28.     Integer  INTEGER007
  29.     Integer  INTEGER008
  30.     Integer  INTEGER009
  31.     Integer  INTEGER010
  32.     Integer  INTEGER011
  33.     Integer  INTEGER012
  34.     Integer  INTEGER013
  35.     Integer  INTEGER014
  36.     Integer  INTEGER015
  37.     Integer  INTEGER016
  38.     Integer  INTEGER017
  39.     Integer  INTEGER018
  40.     Integer  TINTEGER019(1)
  41.     Integer  INTEGER020
  42.     Integer  INTEGER021
  43.     Integer  INTEGER022
  44.     Integer  TINTEGER023(99)
  45.     Integer  INTEGER024
  46.     Integer  INTEGER025
  47.     Integer  INTEGER026
  48.     Integer  INTEGER027
  49.     Integer  INTEGER028
  50.     Integer  INTEGER029
  51.     Integer  INTEGER030
  52.     Integer  INTEGER031
  53.     Integer  INTEGER032
  54.     Integer  INTEGER033
  55.     Integer  INTEGER034
  56.     Integer  INTEGER035
  57.     Integer  INTEGER036
  58.     Integer  INTEGER037
  59.     Integer  INTEGER038
  60.     Integer  INTEGER039
  61.     Integer  INTEGER040
  62.     Integer  INTEGER041
  63.     Integer  INTEGER042
  64.     Integer  INTEGER043
  65.     Integer  INTEGER044
  66.     Integer  INTEGER045
  67.     Integer  TINTEGER046(1)
  68.     Integer  INTEGER047
  69.     Integer  INTEGER048
  70.     Integer  INTEGER049
  71.     Integer  INTEGER050
  72.     Integer  INTEGER051
  73.     Integer  INTEGER052
  74.     Integer  INTEGER053
  75.     Integer  INTEGER054
  76.     Integer  INTEGER055
  77.     Integer  INTEGER056
  78.     Integer  INTEGER057
  79.     Integer  INTEGER058
  80.     Integer  INTEGER059
  81.     Integer  INTEGER060
  82.     Integer  INTEGER061
  83.     Integer  INTEGER062
  84.     Integer  INTEGER063
  85.     String   STRING001
  86.     String   TSTRING002(3)
  87.     String   TSTRING003(7)
  88.     String   STRING004
  89.     String   STRING005
  90.     String   STRING006
  91.     String   STRING007
  92.     String   STRING008
  93.     String   STRING009
  94.     String   TSTRING010(1)
  95.     String   STRING011
  96.     String   TSTRING012(1)
  97.     String   STRING013
  98.     String   STRING014
  99.     String   STRING015
  100.     String   STRING016
  101.     String   STRING017
  102.     String   STRING018
  103.     String   STRING019
  104.     String   STRING020
  105.     String   STRING021
  106.     String   STRING022
  107.     String   STRING023
  108.     String   STRING024
  109.     String   STRING025
  110.     String   TSTRING026(1)
  111.     String   STRING027
  112.     String   TSTRING028(1)
  113.     String   STRING029
  114.     String   STRING030
  115.     String   STRING031
  116.     String   TSTRING032(1)
  117.     String   STRING033
  118.     String   STRING034
  119.     String   STRING035
  120.     String   STRING036
  121.     String   TSTRING037(1)
  122.     String   STRING038
  123.     String   STRING039
  124.     String   STRING040
  125.     String   STRING041
  126.     String   STRING042
  127.     String   STRING043
  128.     String   STRING044
  129.     String   STRING045
  130.     String   TSTRING046(27)
  131.     String   STRING047
  132.     String   STRING048
  133.     String   STRING049
  134.     String   STRING050
  135.     Byte     BYTE001
  136.     Byte     BYTE002
  137.  
  138. ;------------------------------------------------------------------------------
  139.  
  140.     GetToken STRING049
  141.     STRING049 = Upper(STRING049)
  142.     If (STRING049 == "BLT") Goto LABEL054
  143.     GetUser
  144.     STRING047 = Time()
  145.     Log "+++ Entered Voter++ at -> " + STRING047, 0
  146.     FOpen 1, PPEPath() + PPEName() + ".CFG", 0, 0
  147.     FDefIn 1
  148.     For INTEGER006 = 1 To 7
  149.         FDGet TSTRING003(INTEGER006)
  150.         TSTRING003(INTEGER006) = RTrim(Left(TSTRING003(INTEGER006), 29), " ")
  151.     Next
  152.     FClose 1
  153.     FOpen 2, PPEPath() + PPEName() + ".PRM", 0, 0
  154.     FDefIn 2
  155.     For INTEGER006 = 1 To 27
  156.         FDGet TSTRING046(INTEGER006)
  157.     Next
  158.     FClose 2
  159.     Redim TSTRING010, S2I(TSTRING003(1), 10)
  160.     Redim TSTRING012, S2I(TSTRING003(1), 10)
  161.     Redim TSTRING026, S2I(TSTRING003(1), 10)
  162.     Redim TSTRING028, S2I(TSTRING003(1), 10)
  163.     Redim TSTRING032, S2I(TSTRING003(1), 10)
  164.     Redim TSTRING037, S2I(TSTRING003(1), 10)
  165.     Redim TINTEGER019, S2I(TSTRING003(1), 10)
  166.     Redim TINTEGER046, S2I(TSTRING003(1), 10)
  167.     BOOLEAN002 = 0
  168.     STRING015 = TSTRING003(2) + TSTRING003(3)
  169.     STRING015 = Strip(STRING015, " ")
  170.     For INTEGER024 = 1 To Len(STRING015)
  171.         TINTEGER023(INTEGER024) = Asc(Mid(STRING015, INTEGER024, 1))
  172.     Next
  173.     INTEGER025 = 0
  174.     For INTEGER024 = 1 To 80
  175.         INTEGER025 = INTEGER025 + TINTEGER023(INTEGER024)
  176.     Next
  177.     INTEGER022 = INTEGER025 * 709
  178.     If (INTEGER022 == TSTRING003(4)) Then
  179.         BOOLEAN003 = 1
  180.     Else
  181.         BOOLEAN003 = 0
  182.     Endif
  183.     If (Exist(PPEPath() + "UNIVERSL.KEY")) Gosub LABEL058
  184.     If (Exist(PPEPath() + "UNI.KEY")) Gosub LABEL059
  185.     If (AnsiOn()) Goto LABEL001
  186.     PrintLn "Sorry, but this program requires you to have ANSI capabilities, if you"
  187.     PrintLn "would like to use this voting door, then please type M at the main menu"
  188.     PrintLn "this will place you in graphics mode, and allow you to use this door."
  189.     End
  190.     :LABEL001
  191.     Gosub LABEL016
  192.     StartDisp 1
  193.     Cls
  194.     Newlines 5
  195.     PrintLn "           @X0A┌─┐    ┌─┐ ┌──────┐ ┌─────┐ ┌─────┐ ┌──────┐               "
  196.     PrintLn "           │ │    │ │ │ ┌──┐ │ └─┐ ┌─┘ │ ┌───┘ │ ┌──┐ │     ┌─┐   ┌─┐ "
  197.     PrintLn "           @X04└┐└┐  ┌┘┌┘ │ │  │ │   │ │   │ └─┐   │ └──┘ │    ┌┘ └┐ ┌┘ └┐"
  198.     PrintLn "           @X02 └┐└┐┌┘┌┘  │ │  │ │   │ │   │ ┌─┘   │ ┌─┐ ┌┘    └┐ ┌┘ └┐ ┌┘"
  199.     PrintLn "             └┐└┘┌┘   │ └──┘ │   │ │   │ └───┐ │ │ │ └┐     └─┘   └─┘ "
  200.     PrintLn "              └──┘    └──────┘   └─┘   └─────┘ └─┘ └──┘               "
  201.     PrintLn "                    @X0D■(C)96 Practical Computer Services  v4.04■              "
  202.     PrintLn "                                                                     "
  203.     If (BOOLEAN003) Then
  204.         OpText "This program is registered to"
  205.         AnsiPos 0, 14
  206.         PrintLn "@X09@OPTEXT:76C@"
  207.         OpText TSTRING003(3)
  208.         AnsiPos 0, 15
  209.         PrintLn "@X03@OPTEXT:76C@"
  210.         Delay (3 * 182) / 10
  211.     Else
  212.         For INTEGER021 = 5 To 0 Step -1
  213.             AnsiPos 9, 1
  214.             PrintLn "@X0EThis @X0B", INTEGER021, "@X0E second delay is removed once this program is registered "
  215.             Delay (1.5 * 182) / 18
  216.         Next
  217.         For INTEGER021 = 5 To 0 Step -1
  218.             AnsiPos 2, 18
  219.             PrintLn "@X0CPlease help your sysop register this program and remove this @X8B", INTEGER021, "@X0C second delay@X0F"
  220.             Delay (1.5 * 182) / 18
  221.         Next
  222.     Endif
  223.     :LABEL002
  224.     INTEGER057 = 1
  225.     INTEGER056 = 15
  226.     INTEGER043 = 0
  227.     Gosub LABEL022
  228.     Color DefColor()
  229.     Cls
  230.     PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  231.     PrintLn "@X10│··@X1EVoter++@X10···················@X1CUser Voting Area@X10······················@X1BMain Menu@X10··@X19│@X0F"
  232.     PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X0F"
  233.     PrintLn "@X10┌───────────────────────────────────@X19┐@X10┌────────────────────────────────────────@X19┐@X0F"
  234.     PrintLn "@X10│··@X16(@X1AH@X16) - @X10···························@X19│@X10│········································@X19│@X0F"
  235.     PrintLn "@X10│··@X16(@X1AL@X16) - @X10···························@X19│@X10│········································@X19│@X0F"
  236.     PrintLn "@X10│··@X16(@X1AV@X16) - @X10···························@X19│@X10└@X19────────────────────────────────────────┘@X0F"
  237.     PrintLn "@X10│··@X16(@X1AD@X16) - @X10···························@X19│@X10┌────────────────────────────────────────@X19┐@X0F"
  238.     PrintLn "@X10│··@X16(@X1CQ@X16) - @X10···························@X19│@X10│··@X1B(c)96 Practical Computer @X10······@X1Bv4.04@X10··@X19│@X0F"
  239.     PrintLn "@X10└@X19───────────────────────────────────┘@X10└@X19────────────────────────────────────────┘@X0F"
  240.     PrintLn "@X10┌───────────────────────────────────@X19┐@X0F"
  241.     PrintLn "@X10│··@X16( ) -                    @X10········@X19│@X0F"
  242.     PrintLn "@X10└@X19───────────────────────────────────┘@X0F"
  243.     Gosub LABEL014
  244.     If (CurSec() >= SysopSec()) Then
  245.         AnsiPos 38, 11
  246.         PrintLn "@X10┌────────────────────────────────────────@X19┐@X0F"
  247.         AnsiPos 38, 12
  248.         PrintLn "@X10│··@X16(@X9CS@X16) - @X1CThe Secret Hidden Sysop Menu!@X10···@X19│@X0F"
  249.         AnsiPos 38, 13
  250.         PrintLn "@X10└@X19────────────────────────────────────────┘@X0F"
  251.     Endif
  252.     If ((CurSec() < SysopSec()) && (Upper(TSTRING003(5)) == "YES")) Then
  253.         AnsiPos 38, 11
  254.         PrintLn "@X10┌────────────────────────────────────────@X19┐@X0F"
  255.         AnsiPos 38, 12
  256.         PrintLn "@X10│·@X16(@X1AC@X16) - @X10·································@X19│@X0F"
  257.         AnsiPos 38, 13
  258.         PrintLn "@X10└@X19────────────────────────────────────────┘@X0F"
  259.         AnsiPos 46, 12
  260.         PrintLn "@X1B", TSTRING046(26)
  261.     Endif
  262.     AnsiPos 5, 12
  263.     InputStr "_", STRING004, 27, 1, Mask_Ascii(), 1024 + 8192
  264.     AnsiPos 5, 12
  265.     Print "@X1B", STRING004
  266.     If (STRING004 == NoChar()) Goto LABEL013
  267.     If (Upper(STRING004) == "H") Goto LABEL003
  268.     If (Upper(STRING004) == "L") Goto LABEL004
  269.     If (Upper(STRING004) == "V") Goto LABEL005
  270.     If (Upper(STRING004) == "D") Goto LABEL010
  271.     If (Upper(STRING004) == "Q") Goto LABEL013
  272.     If (Upper(STRING004) == "S") Goto LABEL023
  273.     If (Upper(STRING004) == "A") Goto LABEL033
  274.     If ((Upper(STRING004) == "C") && (Upper(TSTRING003(5)) == "YES")) Goto LABEL034
  275.     If (STRING004 == 0) Goto LABEL002
  276.     :LABEL003
  277.     Color DefColor()
  278.     Cls
  279.     DispFile PPEPath() + "HELP.DSP", 2 + 1 + 4
  280.     Print "            "
  281.     Gosub LABEL050
  282.     Goto LABEL002
  283.     Print "@X0F"
  284.     :LABEL004
  285.     Color DefColor()
  286.     Cls
  287.     PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  288.     PrintLn "@X10│··@X1EVoter++@X10··········································@X1CAvailable Voting Booths@X10·@X19│@X0F"
  289.     PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  290.     PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  291.     For INTEGER006 = INTEGER057 To TSTRING003(1)
  292.         STRING005 = INTEGER006
  293.         STRING006 = ReadLine(PPEPath() + "VOTE" + STRING005 + ".QUE", 1)
  294.         INTEGER007 = 70 - Len(STRING006)
  295.         Gosub LABEL022
  296.         If (INTEGER006 <= 9) PrintLn "@X10│@X1C  ", INTEGER006, "@X16)@X1B", STRING018, STRING006 + Space(INTEGER007) , "@X19│@X0F"
  297.         If ((INTEGER006 >= 10) && (INTEGER006 <= 99)) PrintLn "@X10│@X1C ", INTEGER006, "@X16)@X1B", STRING018, STRING006 + Space(INTEGER007) , "@X19│@X0F"
  298.         If (INTEGER006 >= 100) PrintLn "@X10│@X1C", INTEGER006, "@X16)@X1B", STRING018, STRING006 + Space(INTEGER007) , "@X19│@X0F"
  299.         If (INTEGER006 == INTEGER056) Then
  300.             PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  301.             Print "   @X03(@X8E■@X03 = Voted on)        "
  302.             Gosub LABEL050
  303.             INTEGER057 = INTEGER056
  304.             INTEGER056 = INTEGER056 + 15
  305.             Goto LABEL004
  306.         Endif
  307.     Next
  308.     PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  309.     Print "   @X03(@X8E■@X03 = Voted on)        "
  310.     Gosub LABEL050
  311.     Goto LABEL002
  312.     :LABEL005
  313.     STRING004 = 0
  314.     Color DefColor()
  315.     Cls
  316.     PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  317.     PrintLn "@X10│··@X1EVoter++@X10········@X1CPlease Choose from the booths below@X10··········@X1AVoting Area@X10··@X19│@X0F"
  318.     PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  319.     PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  320.     For INTEGER006 = INTEGER057 To TSTRING003(1)
  321.         STRING005 = INTEGER006
  322.         STRING006 = ReadLine(PPEPath() + "VOTE" + STRING005 + ".QUE", 1)
  323.         FClose -1
  324.         Gosub LABEL022
  325.         INTEGER007 = 70 - Len(STRING006)
  326.         If (INTEGER006 <= 9) PrintLn "@X10│ @X1C ", INTEGER006, "@X16)@X1B", STRING018, STRING006 + Space(INTEGER007) , "@X19│@X0F"
  327.         If ((INTEGER006 >= 10) && (INTEGER006 <= 99)) PrintLn "@X10│@X1C ", INTEGER006, "@X16)@X1B", STRING018, STRING006 + Space(INTEGER007) , "@X19│@X0F"
  328.         If (INTEGER006 >= 100) PrintLn "@X10│@X1C", INTEGER006, "@X16)@X1B", STRING018, STRING006 + Space(INTEGER007) , "@X19│@X0F"
  329.         If (INTEGER006 == INTEGER056) Then
  330.             PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  331.             InputStr TSTRING046(14), STRING004, 14, 2, "1234567890QqDdMm", 0 + 4
  332.             If (S2I(STRING004, 10) > S2I(TSTRING003(1), 10)) Goto LABEL005
  333.             Gosub LABEL017
  334.             If (STRING017 == "Y") Goto LABEL020
  335.             If (Upper(STRING004) == "Q") Goto LABEL002
  336.             If (Upper(STRING004) == "D") Goto LABEL010
  337.             If (Upper(STRING004) == "M") Goto LABEL006
  338.             If (STRING004 == 0) Goto LABEL005
  339.             If (S2I(STRING004, 10) <= S2I(TSTRING003(1), 10)) Goto LABEL007
  340.             :LABEL006
  341.             INTEGER057 = INTEGER056
  342.             INTEGER056 = INTEGER056 + 15
  343.             Goto LABEL005
  344.         Endif
  345.     Next
  346.     PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  347.     InputStr TSTRING046(14), STRING004, 14, 2, "1234567890QqDdMm", 0 + 4
  348.     If (S2I(STRING004, 10) > S2I(TSTRING003(1), 10)) Goto LABEL005
  349.     Gosub LABEL017
  350.     If (STRING017 == "Y") Goto LABEL020
  351.     If (Upper(STRING004) == "Q") Goto LABEL002
  352.     If (Upper(STRING004) == "D") Then
  353.         INTEGER057 = 1
  354.         INTEGER056 = 15
  355.     Else
  356.         If (STRING004 == 0) Goto LABEL005
  357.         :LABEL007
  358.         INTEGER058 = 0
  359.         FOpen 5, PPEPath() + "vote" + STRING004 + ".que", 0, 0
  360.         :LABEL008
  361.         If (Ferr(5)) Goto LABEL009
  362.         Inc INTEGER058
  363.         FGet 5, STRING048
  364.         Goto LABEL008
  365.         :LABEL009
  366.         FClose 5
  367.         Color DefColor()
  368.         Cls
  369.         PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  370.         STRING008 = ReadLine(PPEPath() + "VOTE" + STRING004 + ".QUE", 1)
  371.         FClose -1
  372.         INTEGER007 = 71 - Len(STRING008)
  373.         PrintLn "@X10│@X14 Q:@X1E ", STRING008 + Space(INTEGER007), "@X19│@X0F"
  374.         PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  375.         INTEGER009 = 1
  376.         For INTEGER006 = 1 To INTEGER058
  377.             If (INTEGER006 <= 1) Gosub LABEL021
  378.             Inc INTEGER009
  379.             STRING008 = ReadLine(PPEPath() + "vote" + STRING004 + ".que", INTEGER009)
  380.             FClose -1
  381.             If (STRING008 == "") Break
  382.             INTEGER007 = 71 - Len(STRING008)
  383.             If (INTEGER006 <= 9) PrintLn "@X10│@X1C ", INTEGER006, "@X16)@X1B ", STRING008 + Space(INTEGER007) , "@X19│@X0F"
  384.             If (INTEGER006 >= 10) PrintLn "@X10│@X1C", INTEGER006, "@X16)@X1B ", STRING008 + Space(INTEGER007) , "@X19│@X0F"
  385.         Next
  386.         PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  387.         InputStr TSTRING046(15), STRING009, 14, 2, "1234567890Qq", 0 + 4
  388.         If (Upper(STRING009) == "Q") Goto LABEL005
  389.         If (S2I(STRING009, 10) > INTEGER058) Goto LABEL007
  390.         If (Upper(STRING009) == "Q") Goto LABEL005
  391.         If (STRING009 == 0) Goto LABEL007
  392.         If (STRING009 == "") Goto LABEL007
  393.         BYTE002 = Len(U_Name())
  394.         BYTE001 = 25 - BYTE002
  395.         STRING019 = U_Name() + Space(BYTE001)
  396.         Select Case (Len(STRING009))
  397.             Case 1
  398.                 INTEGER033 = 1
  399.             Case 2
  400.                 INTEGER033 = 0
  401.         End Select
  402.         FAppend 5, PPEPath() + "vote" + STRING004 + ".nam", 2, 0
  403.         FPutLn 5, U_Name(), Space(BYTE001), " ■ ", String(Date()), " ■ Answer ", STRING009, Space(INTEGER033)
  404.         FClose 5
  405.         INTEGER011 = INTEGER006 - 1
  406.         For INTEGER010 = 1 To INTEGER011
  407.             FOpen 6, PPEPath() + "vote" + STRING004 + ".ans", 2, 0
  408.             FDefIn 6
  409.             FDGet TSTRING010(INTEGER010)
  410.         Next
  411.         FClose 6
  412.         TSTRING010(STRING009) = TSTRING010(STRING009) + 1
  413.         FOpen 6, PPEPath() + "VOTE" + STRING004 + ".ANS", 1, 0
  414.         FDefOut 6
  415.         For INTEGER012 = 1 To INTEGER011
  416.             FDPutLn TSTRING010(INTEGER012)
  417.         Next
  418.         FClose 6
  419.         BOOLEAN002 = 1
  420.         Newlines 1
  421.         PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  422.         PrintLn "@X10│@X1EThank you for casting your vote. Make sure you take a look at the results! @X19│@X0F"
  423.         PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  424.         Delay (2 * 182) / 10
  425.         Goto LABEL005
  426.     Endif
  427.     :LABEL010
  428.     Color DefColor()
  429.     Cls
  430.     PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  431.     PrintLn "@X10│··@X1EVoter++@X10··································@X1CVoter Statistics Display Area@X10···@X19│@X0F"
  432.     PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  433.     PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  434.     For INTEGER013 = INTEGER057 To TSTRING003(1)
  435.         STRING005 = INTEGER013
  436.         STRING006 = ReadLine(PPEPath() + "VOTE" + STRING005 + ".QUE", 1)
  437.         FClose -1
  438.         INTEGER007 = 70 - Len(STRING006)
  439.         Gosub LABEL022
  440.         If (STRING005 <= 9) PrintLn "@X10│@X1C  ", STRING005, "@X16)@X1B", STRING018, STRING006 + Space(INTEGER007) , "@X19│@X0F"
  441.         If ((STRING005 >= 10) && (STRING005 <= 99)) PrintLn "@X10│@X1C ", STRING005, "@X16)@X1B", STRING018, STRING006 + Space(INTEGER007) , "@X19│@X0F"
  442.         If (STRING005 >= 100) PrintLn "@X10│@X1C", STRING005, "@X16)@X1B", STRING018, STRING006 + Space(INTEGER007) , "@X19│@X0F"
  443.         If (STRING005 == INTEGER056) Then
  444.             PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  445.             InputStr TSTRING046(16), STRING011, 14, 2, "1234567890QqVvMm", 0 + 4
  446.             If (S2I(STRING011, 10) > S2I(TSTRING003(1), 10)) Goto LABEL010
  447.             If (Upper(STRING011) == "Q") Goto LABEL002
  448.             If (Upper(STRING011) == "V") Then
  449.                 INTEGER057 = 1
  450.                 INTEGER056 = 15
  451.                 Goto LABEL005
  452.             Endif
  453.             If (Upper(STRING011) == "M") Goto LABEL011
  454.             If (STRING011 == 0) Goto LABEL010
  455.             Gosub LABEL053
  456.             Newline
  457.             InputStr TSTRING046(17), STRING031, 10, 1, "GgTt", 0 + 4
  458.             If (Upper(STRING031) == "G") Goto LABEL043
  459.             Goto LABEL012
  460.             :LABEL011
  461.             INTEGER057 = INTEGER056
  462.             INTEGER056 = INTEGER056 + 15
  463.             Goto LABEL010
  464.         Endif
  465.     Next
  466.     PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  467.     InputStr TSTRING046(16), STRING011, 14, 2, "1234567890QqVvMm", 0 + 4
  468.     If (S2I(STRING011, 10) > S2I(TSTRING003(1), 10)) Goto LABEL010
  469.     If (Upper(STRING011) == "Q") Goto LABEL002
  470.     If (Upper(STRING011) == "V") Then
  471.         INTEGER057 = 1
  472.         INTEGER056 = 15
  473.         Goto LABEL005
  474.     Endif
  475.     If (STRING011 == 0) Goto LABEL010
  476.     Gosub LABEL053
  477.     Newline
  478.     InputStr TSTRING046(17), STRING031, 10, 1, "GgTt", 0 + 4
  479.     If (Upper(STRING031) == "G") Then
  480.         Goto LABEL043
  481.     Endif
  482.     :LABEL012
  483.     Newlines 1
  484.     INTEGER020 = 0
  485.     FOpen 3, PPEPath() + "VOTE" + STRING011 + ".ANS", 2, 0
  486.     FDefIn 3
  487.     For INTEGER014 = 1 To S2I(TSTRING003(1), 10)
  488.         FDGet TSTRING012(INTEGER014)
  489.         INTEGER020 = INTEGER020 + TSTRING012(INTEGER014)
  490.     Next
  491.     FClose 3
  492.     Cls
  493.     PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  494.     STRING014 = ReadLine(PPEPath() + "VOTE" + STRING011 + ".QUE", 1)
  495.     FClose -1
  496.     INTEGER018 = 71 - Len(STRING014)
  497.     PrintLn "@X10│ @X1CQ:@X1E ", STRING014 + Space(INTEGER018), "@X19│@X0F"
  498.     PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  499.     PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  500.     PrintLn "@X10│·@X1AVotes@X10··@X1C%%%@X10··@X1EAnswer@X10························································@X19│@X0F"
  501.     PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  502.     INTEGER015 = 1
  503.     For INTEGER017 = 1 To S2I(TSTRING003(1), 10)
  504.         If (INTEGER017 <= 1) Gosub LABEL021
  505.         TINTEGER019(INTEGER017) = TSTRING012(INTEGER017)
  506.         Inc INTEGER015
  507.         STRING013 = ReadLine(PPEPath() + "vote" + STRING011 + ".que", INTEGER015)
  508.         FClose -1
  509.         If (STRING013 == "") Break
  510.         If (TSTRING012(INTEGER017) == "") Then
  511.             TSTRING012(INTEGER017) = 0
  512.         Endif
  513.         INTEGER028 = (TINTEGER019(INTEGER017) * 100) / INTEGER020
  514.         If (Len(TSTRING012(INTEGER017)) <= 1) Then
  515.             INTEGER026 = 4
  516.         Else
  517.             Select Case (Len(TSTRING012(INTEGER017)))
  518.                 Case 2
  519.                     INTEGER026 = 3
  520.                 Case 3
  521.                     INTEGER026 = 2
  522.                 Endif
  523.         End Select
  524.         Select Case (Len(INTEGER028))
  525.             Case 1
  526.                 INTEGER027 = 5
  527.             Case 2
  528.                 INTEGER027 = 4
  529.             Case 3
  530.                 INTEGER027 = 3
  531.         End Select
  532.         Select Case (Len(INTEGER028))
  533.             Case 1
  534.                 INTEGER016 = 64 - Len(STRING013) + Len(TINTEGER019(INTEGER017)) + Len(TSTRING012(INTEGER017))
  535.             Case 2
  536.                 INTEGER016 = 66 - Len(STRING013) + Len(TINTEGER019(INTEGER017)) + Len(TSTRING012(INTEGER017))
  537.             Case 3
  538.                 INTEGER016 = 64 - Len(STRING013) + Len(TINTEGER019(INTEGER017)) + Len(TSTRING012(INTEGER017))
  539.         End Select
  540.         INTEGER032 = 0
  541.         If (Len(TSTRING012(INTEGER017)) == 1) Then
  542.             INTEGER032 = 2
  543.         Endif
  544.         If (Len(INTEGER028) == INTEGER032) Then
  545.             INTEGER016 = 64 - Len(STRING013) + Len(TINTEGER019(INTEGER017)) + Len(TSTRING012(INTEGER017))
  546.         Endif
  547.         PrintLn "@X10│@X1A", Space(INTEGER026), TSTRING012(INTEGER017), "@X1C", Space(INTEGER027), INTEGER028, " @X1E ", STRING013 + Space(INTEGER016), "@X19│@X0F"
  548.     Next
  549.     PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  550.     Print "              "
  551.     Gosub LABEL050
  552.     Goto LABEL010
  553.     :LABEL013
  554.     AnsiPos 38, 11
  555.     PrintLn "@X10┌────────────────────────────────────────@X19┐@X0F"
  556.     AnsiPos 38, 12
  557.     PrintLn "@X10│···@X1C@X9C@X1E Thank you for using Voter++ @X9C@X1C@X10··@X19│@X0F"
  558.     AnsiPos 38, 13
  559.     PrintLn "@X10└@X19────────────────────────────────────────┘@X0F"
  560.     If (BOOLEAN002) Then
  561.         Call PPEPath() + "votegraf.ppe"
  562.     Endif
  563.     STRING047 = Time()
  564.     Log "--- Exited  Voter++ at -> " + STRING047, 0
  565.     End
  566.     :LABEL014
  567.     AnsiPos 10, 5
  568.     PrintLn "@X1B", TSTRING046(1)
  569.     AnsiPos 10, 6
  570.     PrintLn "", TSTRING046(2)
  571.     AnsiPos 10, 7
  572.     PrintLn "", TSTRING046(3)
  573.     AnsiPos 10, 8
  574.     PrintLn "", TSTRING046(4)
  575.     AnsiPos 10, 9
  576.     PrintLn "@X1C", TSTRING046(5)
  577.     AnsiPos 10, 12
  578.     PrintLn "@X1B", TSTRING046(6)
  579.     AnsiPos 41, 5
  580.     PrintLn "@X1E", TSTRING046(11)
  581.     AnsiPos 41, 6
  582.     PrintLn "", TSTRING046(12)
  583.     AnsiPos 67, 5
  584.     PrintLn "@X1C", TSTRING003(1), "@X1E."
  585.     AnsiPos 67, 6
  586.     PrintLn "@X1C", INTEGER031, "@X1E."
  587.     Return
  588.     :LABEL015
  589.     AnsiPos 67, 5
  590.     PrintLn "@X1C", TSTRING003(1), "@X1E."
  591.     AnsiPos 67, 6
  592.     PrintLn "@X1C", INTEGER031, "@X1E."
  593.     AnsiPos 10, 5
  594.     PrintLn "@X1B", TSTRING046(7)
  595.     AnsiPos 10, 6
  596.     PrintLn "", TSTRING046(8)
  597.     AnsiPos 10, 7
  598.     PrintLn "", TSTRING046(9)
  599.     AnsiPos 10, 8
  600.     PrintLn "", TSTRING046(10)
  601.     AnsiPos 10, 9
  602.     PrintLn "@X1C", TSTRING046(27)
  603.     AnsiPos 41, 5
  604.     PrintLn "@X1E", TSTRING046(11)
  605.     AnsiPos 41, 6
  606.     PrintLn "", TSTRING046(12)
  607.     AnsiPos 10, 12
  608.     PrintLn "@X1B", TSTRING046(6)
  609.     Return
  610.     :LABEL016
  611.     INTEGER031 = 0
  612.     INTEGER031 = ReadLine(PPEPath() + PPEName() + ".cfg", 6)
  613.     FClose -1
  614.     INTEGER031 = INTEGER031 + 1
  615.     For INTEGER006 = 1 To 7
  616.         TSTRING003(INTEGER006) = ReadLine(PPEPath() + PPEName() + ".cfg", INTEGER006)
  617.         FClose -1
  618.         TSTRING003(INTEGER006) = RTrim(Left(TSTRING003(INTEGER006), 29), " ")
  619.     Next
  620.     FClose -1
  621.     Delete PPEPath() + PPEName() + ".cfg"
  622.     INTEGER031 = TSTRING003(6)
  623.     INTEGER031 = INTEGER031 + 1
  624.     TSTRING003(6) = INTEGER031
  625.     FOpen 3, PPEPath() + PPEName() + ".cfg", 1, 0
  626.     FDefOut 3
  627.     For INTEGER006 = 1 To 7
  628.         FDPutLn TSTRING003(INTEGER006)
  629.     Next
  630.     FClose 3
  631.     Return
  632.     PrintLn "@X0E"
  633.     :LABEL017
  634.     STRING017 = "N"
  635.     STRING016 = ""
  636.     INTEGER029 = 0
  637.     FOpen 3, PPEPath() + "VOTE" + STRING004 + ".NAM", 2, 0
  638.     FDefIn 3
  639.     :LABEL018
  640.     If (Ferr(3)) Goto LABEL019
  641.     Inc INTEGER029
  642.     FDGet STRING016
  643.     Goto LABEL018
  644.     :LABEL019
  645.     FClose 3
  646.     INTEGER029 = INTEGER029 - 1
  647.     If (INTEGER029 == 0) Then
  648.         INTEGER029 = 1
  649.     Endif
  650.     INTEGER030 = Len(U_Name())
  651.     FOpen 4, PPEPath() + "VOTE" + STRING004 + ".NAM", 2, 0
  652.     FDefIn 4
  653.     For INTEGER006 = 1 To INTEGER029
  654.         FDGet STRING016
  655.         If (Left(STRING016, INTEGER030) == U_Name()) Then
  656.             STRING017 = "Y"
  657.         Endif
  658.     Next
  659.     FClose 4
  660.     Return
  661.     :LABEL020
  662.     Newlines 1
  663.     PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  664.     PrintLn "@X10│ @X1ESorry but you have already voted on this question, please choose another. @X19│@X0F"
  665.     PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  666.     Delay (2 * 182) / 10
  667.     Goto LABEL002
  668.     :LABEL021
  669.     PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  670.     Return
  671.     :LABEL022
  672.     STRING020 = PPEPath() + "vote" + STRING005 + ".nam"
  673.     INTEGER034 = FileInf(STRING020, 4)
  674.     INTEGER035 = INTEGER034 / 50
  675.     If (INTEGER035 == 0) Then
  676.         STRING018 = " "
  677.         Return
  678.     Endif
  679.     For INTEGER036 = 1 To INTEGER035
  680.         STRING021 = ReadLine(STRING020, INTEGER036)
  681.         If (U_Name() == Left(STRING021, Len(U_Name()))) Then
  682.             STRING018 = "@X9E■@X1B"
  683.             Return
  684.         Endif
  685.     Next
  686.     STRING018 = " "
  687.     Return
  688.     :LABEL023
  689.     INTEGER057 = 1
  690.     INTEGER056 = 15
  691.     If (CurSec() < SysopSec()) Then
  692.         AnsiPos 38, 11
  693.         PrintLn "@X10┌────────────────────────────────────────@X19┐@X0F"
  694.         AnsiPos 38, 12
  695.         PrintLn "@X10│ @X1CThis function is not available to you! @X19│@X0F"
  696.         AnsiPos 38, 13
  697.         PrintLn "@X10└@X19────────────────────────────────────────┘@X0F"
  698.         Delay (2 * 182) / 10
  699.         Goto LABEL002
  700.     Endif
  701.     Color DefColor()
  702.     Cls
  703.     PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  704.     PrintLn "@X10│··@X1EVoter++@X10···················@X1CSysop Maintenance Area@X10···························@X19│@X0F"
  705.     PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X0F"
  706.     PrintLn "@X10┌───────────────────────────────────@X19┐@X10┌────────────────────────────────────────@X19┐@X0F"
  707.     PrintLn "@X10│··@X16(@X1AH@X16) - @X10···························@X19│@X10│········································@X19│@X0F"
  708.     PrintLn "@X10│··@X16(@X1AE@X16) - @X10···························@X19│@X10│········································@X19│@X0F"
  709.     PrintLn "@X10│··@X16(@X1AC@X16) - @X10···························@X19│@X10└@X19────────────────────────────────────────┘@X0F"
  710.     PrintLn "@X10│··@X16(@X1AD@X16) - @X10···························@X19│@X10┌────────────────────────────────────────@X19┐@X0F"
  711.     PrintLn "@X10│··@X16(@X1CQ@X16) - @X10···························@X19│@X10│··@X1B(c)96 Practical Computer @X10······@X1Bv4.04@X10··@X19│@X0F"
  712.     PrintLn "@X10└@X19───────────────────────────────────┘@X10└@X19────────────────────────────────────────┘@X0F"
  713.     PrintLn "@X10┌───────────────────────────────────@X19┐@X0F"
  714.     PrintLn "@X10│··@X16( ) - @X10···························@X19│@X0F"
  715.     PrintLn "@X10└@X19───────────────────────────────────┘@X0F"
  716.     Gosub LABEL015
  717.     AnsiPos 5, 12
  718.     STRING022 = ""
  719.     While (STRING022 == "") Do
  720.         STRING022 = Inkey()
  721.     EndWhile
  722.     AnsiPos 5, 12
  723.     Print "@X13" + Upper(STRING022)
  724.     Delay 1
  725.     If (Upper(STRING022) == "H") Goto LABEL024
  726.     If (Upper(STRING022) == "E") Goto LABEL025
  727.     If (Upper(STRING022) == "C") Goto LABEL034
  728.     If (Upper(STRING022) == "D") Goto LABEL041
  729.     If (Upper(STRING022) == "Q") Goto LABEL002
  730.     If (STRING022 == 0) Goto LABEL023
  731.     :LABEL024
  732.     Color DefColor()
  733.     Cls
  734.     DispFile PPEPath() + "SYS_HELP.DSP", 2 + 1 + 4
  735.     Print "           "
  736.     Gosub LABEL050
  737.     Goto LABEL023
  738.     :LABEL025
  739.     STRING027 = 0
  740.     Color DefColor()
  741.     Cls
  742.     PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  743.     PrintLn "@X10│··@X1EVoter++@X10········@X1CPlease Choose the booth to Edit@X10···························@X19│@X0F"
  744.     PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  745.     PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  746.     For INTEGER006 = INTEGER057 To TSTRING003(1)
  747.         STRING005 = INTEGER006
  748.         STRING006 = ReadLine(PPEPath() + "VOTE" + STRING005 + ".QUE", 1)
  749.         INTEGER007 = 70 - Len(STRING006)
  750.         If (INTEGER006 <= 9) PrintLn "@X10│@X1C  ", INTEGER006, "@X16) @X1B", STRING006 + Space(INTEGER007) , "@X19│@X0F"
  751.         If ((INTEGER006 >= 10) && (INTEGER006 <= 99)) PrintLn "@X10│@X1C ", INTEGER006, "@X16)@X1B ", STRING006 + Space(INTEGER007) , "@X19│@X0F"
  752.         If (INTEGER006 >= 100) PrintLn "@X10│@X1C", INTEGER006, "@X16)@X1B ", STRING006 + Space(INTEGER007) , "@X19│@X0F"
  753.         If (INTEGER006 == INTEGER056) Then
  754.             PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  755.             InputStr TSTRING046(18), STRING027, 11, 2, "1234567890QqMm", 0 + 4
  756.             If (Upper(STRING027) == "Q") Goto LABEL023
  757.             If (Upper(STRING027) == "M") Goto LABEL026
  758.             If (S2I(STRING027, 10) > S2I(TSTRING003(1), 10)) Goto LABEL025
  759.             :LABEL026
  760.             INTEGER057 = INTEGER056
  761.             INTEGER056 = INTEGER056 + 15
  762.             Goto LABEL025
  763.         Endif
  764.     Next
  765.     PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  766.     InputStr TSTRING046(18), STRING027, 11, 2, "1234567890Qq", 0 + 4
  767.     If (Upper(STRING027) == "Q") Goto LABEL023
  768.     If (S2I(STRING027, 10) > S2I(TSTRING003(1), 10)) Goto LABEL025
  769.     INTEGER041 = 0
  770.     FOpen 5, PPEPath() + "vote" + STRING027 + ".que", 0, 0
  771.     FDefIn 5
  772.     :LABEL027
  773.     If (Ferr(5)) Goto LABEL028
  774.     Inc INTEGER041
  775.     FDGet STRING007
  776.     Goto LABEL027
  777.     :LABEL028
  778.     FClose 5
  779.     INTEGER041 = INTEGER041 - 1
  780.     FOpen 5, PPEPath() + "vote" + STRING027 + ".que", 0, 0
  781.     FDefIn 5
  782.     For INTEGER006 = 1 To INTEGER041
  783.         FDGet TSTRING028(INTEGER006)
  784.     Next
  785.     FClose 5
  786.     Dec INTEGER041
  787.     :LABEL029
  788.     INTEGER045 = 1
  789.     Color DefColor()
  790.     Cls
  791.     PrintLn " @X04Q:@X02 ", TSTRING028(1)
  792.     PrintLn 
  793.     For INTEGER006 = 1 To INTEGER041
  794.         Inc INTEGER045
  795.         If (INTEGER006 <= 9) PrintLn "@X04 ", INTEGER006, "@X06)@X09 ", TSTRING028(INTEGER045)
  796.         If (INTEGER006 >= 10) PrintLn "@X04", INTEGER006, "@X06)@X09 ", TSTRING028(INTEGER045)
  797.     Next
  798.     PrintLn 
  799.     InputStr TSTRING046(19), STRING029, 10, 2, "1234567890QqSs", 0 + 4
  800.     If (Upper(STRING029) == "S") Goto LABEL030
  801.     If (Upper(STRING029) == "Q") Goto LABEL025
  802.     STRING029 = STRING029 + 1
  803.     PrintLn 
  804.     PrintLn "@X0BOld Line :  ", TSTRING028(STRING029)
  805.     InputStr TSTRING046(20), TSTRING028(STRING029), 9, 60, Mask_Ascii(), 0
  806.     Goto LABEL029
  807.     :LABEL030
  808.     INTEGER041 = 0
  809.     FOpen 5, PPEPath() + "vote" + STRING027 + ".que", 0, 0
  810.     FDefIn 5
  811.     :LABEL031
  812.     If (Ferr(5)) Goto LABEL032
  813.     Inc INTEGER041
  814.     FDGet STRING007
  815.     Goto LABEL031
  816.     :LABEL032
  817.     FClose 5
  818.     INTEGER041 = INTEGER041 - 1
  819.     FOpen 5, PPEPath() + "vote" + STRING027 + ".que", 1, 0
  820.     FDefOut 5
  821.     For INTEGER006 = 1 To INTEGER041
  822.         FDPutLn TSTRING028(INTEGER006)
  823.     Next
  824.     FClose 5
  825.     Delete PPEPath() + "vote" + STRING027 + ".nam"
  826.     Delete PPEPath() + "vote" + STRING027 + ".ans"
  827.     Goto LABEL023
  828.     :LABEL033
  829.     Print "@X0F@CLS@"
  830.     Newlines 5
  831.     PrintLn "@POS:25@@X10┌─────────────────────────────@X19┐@X0F"
  832.     PrintLn "@POS:25@@X10│       @X1AVoter++ v4.04@X1E  @X10       @X19│@X0F"
  833.     PrintLn "@POS:25@@X10│@X1E  (c)96 Practical Computer   @X19│@X0F"
  834.     PrintLn "@POS:25@@X10│@X16▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X19│@X0F"
  835.     PrintLn "@POS:25@@X10│                             @X19│@X0F"
  836.     PrintLn "@POS:25@@X10│  @X1EProgrammed by: Bob Watson  @X19│@X0F"
  837.     PrintLn "@POS:25@@X10│                             @X19│@X0F"
  838.     PrintLn "@POS:25@@X10│@X1C @X1APractical Computer Services@X1C @X19│@X0F"
  839.     PrintLn "@POS:25@@X10│     @X1A483 Klockner Road       @X19│@X0F"
  840.     PrintLn "@POS:25@@X10│    @X1AHamilton, NJ  08619      @X19│@X0F"
  841.     PrintLn "@POS:25@@X10└@X19─────────────────────────────┘@X0F"
  842.     Delay (5 * 182) / 10
  843.     Goto LABEL002
  844.     :LABEL034
  845.     FOpen 6, PPEPath() + "security.lst", 0, 0
  846.     :LABEL035
  847.     If (Ferr(6)) Goto LABEL036
  848.     FGet 6, INTEGER059
  849.     If (CurSec() == INTEGER059) Then
  850.         Newlines 4
  851.         PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  852.         PrintLn "@X10│ @X1E*@X9CNotice@X1E*     @X1CYour sysop has disallowed your security level for this command @X19│@X0F"
  853.         PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X0F"
  854.         Delay (4 * 182) / 10
  855.         FClose 6
  856.         Goto LABEL002
  857.     Endif
  858.     Goto LABEL035
  859.     :LABEL036
  860.     For INTEGER042 = 1 To S2I(TSTRING003(1), 10)
  861.         STRING030 = INTEGER042
  862.         If (Exist(PPEPath() + PPEName() + STRING030 + ".que")) Then
  863.         Next
  864.     Endif
  865.     If (S2I(STRING030, 10) == S2I(TSTRING003(1), 10)) STRING030 = STRING030 + 1
  866.     For STRING038 = 1 To 16
  867.         TSTRING026(STRING038) = ""
  868.     Next
  869.     Color DefColor()
  870.     STRING025 = ""
  871.     Color DefColor()
  872.     Cls
  873.     PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  874.     PrintLn "@X10│··@X1EVoter++@X10········@X1CBooth Creator@X10·············································@X19│@X0F"
  875.     PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  876.     PrintLn "@X0ANext available booth slot is:@X8C ", STRING030
  877.     InputStr "@X0ASave Questionnaire to (@X0CENTER @X0Ato save to next available slot) ", STRING030, 10, 2, "1234567890", 0
  878.     If (Exist(PPEPath() + PPEName() + STRING030 + ".que")) Then
  879.         PrintLn 
  880.         PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  881.         PrintLn "@X10│ @X1ESorry, but you have choosen a booth that already contains a valid Voting  @X19│@X0F"
  882.         PrintLn "@X10│ @X1EBooth, please recheck the next available slot and try again.              @X19│@X0F"
  883.         PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  884.         Delay (5 * 182) / 10
  885.         Goto LABEL034
  886.     Endif
  887.     PrintLn 
  888.     PrintLn "@X09Please enter your question below (70 chars max) @X04Q to quit@X01"
  889.     PrintLn 
  890.     InputStr "", STRING025, 11, 70, Mask_Ascii(), 64 + 2 + 4
  891.     If ((Upper(STRING025) == "Q") && (CurSec() >= SysopSec())) Goto LABEL023
  892.     If ((Upper(STRING025) == "Q") && (CurSec() < SysopSec())) Goto LABEL002
  893.     If (STRING025 == "") Goto LABEL034
  894.     PrintLn 
  895.     PrintLn "@X09Now please enter up to 16 possible voting answers below (60 chars max each)"
  896.     PrintLn "Enter a blank line to end and save your new booth."
  897.     PrintLn 
  898.     INTEGER038 = 1
  899.     While (INTEGER038 <= 16) Do
  900.         If (INTEGER038 > 16) Break
  901.         If (INTEGER038 <= 9) Print " @X04", INTEGER038, "@X06)@X0B "
  902.         If (INTEGER038 >= 10) Print "@X04", INTEGER038, "@X06) "
  903.         InputStr "", TSTRING026(INTEGER038), 11, 60, Mask_Ascii(), 64 + 2 + 4
  904.         If (TSTRING026(INTEGER038) == "") Break
  905.         Inc INTEGER038
  906.     EndWhile
  907.     Dec INTEGER038
  908.     :LABEL037
  909.     Cls
  910.     PrintLn "@X04Q: ", STRING025
  911.     PrintLn 
  912.     For INTEGER039 = 1 To INTEGER038
  913.         If (INTEGER039 <= 9) PrintLn " ", INTEGER039, "@X06)@X09 ", TSTRING026(INTEGER039)
  914.         If (INTEGER039 >= 10) PrintLn "@X04", INTEGER039, "@X06)@X09 ", TSTRING026(INTEGER039)
  915.     Next
  916.     PrintLn 
  917.     InputStr TSTRING046(21), STRING024, 10, 1, "YyNn", 0
  918.     If (Upper(STRING024) == "Y") Goto LABEL039
  919.     If (Upper(STRING024) == "N") Then
  920.         Newline
  921.         :LABEL038
  922.         InputStr TSTRING046(22), INTEGER040, 4, 2, "1234567890", 0
  923.         If (INTEGER040 > INTEGER039) Goto LABEL038
  924.         Newline
  925.         PrintLn "@X02Old Line >    ", TSTRING026(INTEGER040)
  926.         InputStr TSTRING046(23), TSTRING026(INTEGER040), 11, 60, Mask_Ascii(), 64 + 2 + 4
  927.         Goto LABEL037
  928.     Endif
  929.     :LABEL039
  930.     Log STRING025, 1
  931.     Log "Voter++ Booth Created, Question Follows", 1
  932.     For INTEGER006 = 1 To 7
  933.         TSTRING003(INTEGER006) = ReadLine(PPEPath() + PPEName() + ".cfg", INTEGER006)
  934.         TSTRING003(INTEGER006) = RTrim(Left(TSTRING003(INTEGER006), 29), " ")
  935.     Next
  936.     FClose -1
  937.     Delete PPEPath() + PPEName() + ".cfg"
  938.     FOpen 7, PPEPath() + PPEName() + STRING030 + ".que", 1, 0
  939.     FDefOut 7
  940.     FDPutLn STRING025
  941.     For INTEGER006 = 1 To INTEGER038
  942.         FDPutLn TSTRING026(INTEGER006)
  943.     Next
  944.     FClose 7
  945.     If (STRING030 < S2I(TSTRING003(1), 10)) Goto LABEL040
  946.     INTEGER037 = TSTRING003(1)
  947.     INTEGER037 = INTEGER037 + 1
  948.     TSTRING003(1) = INTEGER037
  949.     :LABEL040
  950.     FOpen 3, PPEPath() + PPEName() + ".cfg", 1, 0
  951.     FDefOut 3
  952.     For INTEGER006 = 1 To 7
  953.         FDPutLn TSTRING003(INTEGER006)
  954.     Next
  955.     FClose 3
  956.     If (CurSec() >= SysopSec()) Then
  957.         Goto LABEL023
  958.     ElseIf (CurSec() < SysopSec()) Then
  959.         Goto LABEL002
  960.     Endif
  961.     :LABEL041
  962.     Color DefColor()
  963.     Cls
  964.     PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  965.     PrintLn "@X10│··@X1EVoter++@X10········@X1CPlease Choose the booth to @X9CDelete@X10·························@X19│@X0F"
  966.     PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  967.     For INTEGER006 = INTEGER057 To TSTRING003(1)
  968.         If (INTEGER006 <= 1) Gosub LABEL021
  969.         STRING005 = INTEGER006
  970.         STRING006 = ReadLine(PPEPath() + "VOTE" + STRING005 + ".QUE", 1)
  971.         INTEGER007 = 70 - Len(STRING006)
  972.         If (INTEGER006 <= 9) PrintLn "@X10│@X1C  ", INTEGER006, "@X16) @X1B", STRING006 + Space(INTEGER007) , "@X19│@X0F"
  973.         If ((INTEGER006 >= 10) && (INTEGER006 <= 99)) PrintLn "@X10│@X1C ", INTEGER006, "@X16)@X1B ", STRING006 + Space(INTEGER007) , "@X19│@X0F"
  974.         If (INTEGER006 >= 100) PrintLn "@X10│@X1C", INTEGER006, "@X16)@X1B ", STRING006 + Space(INTEGER007) , "@X19│@X0F"
  975.         If (INTEGER006 == INTEGER056) Then
  976.             PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  977.             InputStr TSTRING046(24), STRING023, 11, 2, "1234567890QqMm", 0 + 4
  978.             If (Upper(STRING023) == "Q") Goto LABEL023
  979.             If (Upper(STRING023) == "M") Goto LABEL000
  980.             INTEGER057 = INTEGER056
  981.             INTEGER056 = INTEGER056 + 15
  982.             Goto LABEL041
  983.         Endif
  984.     Next
  985.     PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  986.     InputStr TSTRING046(24), STRING023, 11, 2, "1234567890Qq", 0 + 4
  987.     If (Upper(STRING023) == "Q") Goto LABEL023
  988.     If (S2I(STRING023, 10) > S2I(TSTRING003(1), 10)) Then
  989.         PrintLn 
  990.         PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  991.         PrintLn "@X10│ @X1BYou have choosen a non-existant booth #, please try again (or @X1CQ @X1Bto quit)  @X19│@X0F"
  992.         PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  993.         Delay (1.5 * 182) / 102
  994.         Goto LABEL041
  995.     Endif
  996.     Cls
  997.     Color DefColor()
  998.     PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  999.     PrintLn "@X10│ @X9CCAUTION *  @X1CWE WILL DELETE THE FOLLOWING BOOTH - PLEASE VERIFY!  @X9C* CAUTION @X19│@X0F"
  1000.     PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  1001.     PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  1002.     STRING006 = ReadLine(PPEPath() + "VOTE" + STRING023 + ".QUE", 1)
  1003.     FClose -1
  1004.     INTEGER007 = 70 - Len(STRING006)
  1005.     If (STRING023 <= 9) PrintLn "@X10│@X1C  ", STRING023, "@X16) @X1B", STRING006 + Space(INTEGER007) , "@X19│@X0F"
  1006.     If ((STRING023 >= 10) && (STRING023 <= 99)) PrintLn "@X10│@X1C ", STRING023, "@X16)@X1B ", STRING006 + Space(INTEGER007) , "@X19│@X0F"
  1007.     If (STRING023 >= 100) PrintLn "@X10│@X1C", STRING023, "@X16)@X1B ", STRING006 + Space(INTEGER007) , "@X19│@X0F"
  1008.     PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
  1009.     InputStr TSTRING046(25), STRING024, 4, 1, "YyNn", 0 + 4
  1010.     If (Upper(STRING024) == "Y") Then
  1011.         Delete PPEPath() + "vote" + STRING023 + ".nam"
  1012.         Delete PPEPath() + "vote" + STRING023 + ".ans"
  1013.         Delete PPEPath() + "vote" + STRING023 + ".que"
  1014.         For INTEGER006 = 1 To 7
  1015.             TSTRING003(INTEGER006) = ReadLine(PPEPath() + PPEName() + ".cfg", INTEGER006)
  1016.             TSTRING003(INTEGER006) = RTrim(Left(TSTRING003(INTEGER006), 29), " ")
  1017.         Next
  1018.         FClose -1
  1019.         Delete PPEPath() + PPEName() + ".cfg"
  1020.         If (S2I(STRING023, 10) < S2I(TSTRING003(1), 10)) Goto LABEL042
  1021.         INTEGER037 = TSTRING003(1)
  1022.         INTEGER037 = INTEGER037 - 1
  1023.         TSTRING003(1) = INTEGER037
  1024.         :LABEL042
  1025.         FOpen 3, PPEPath() + PPEName() + ".cfg", 1, 0
  1026.         FDefOut 3
  1027.         For INTEGER006 = 1 To 7
  1028.             FDPutLn TSTRING003(INTEGER006)
  1029.         Next
  1030.         FClose 3
  1031.     Endif
  1032.     Goto LABEL023
  1033.     Inc INTEGER043
  1034.     For INTEGER044 = 1 To 45
  1035.     Next
  1036.     If (INTEGER043 >= 400) Goto LABEL013
  1037.     Return
  1038.     :LABEL043
  1039.     STRING005 = 0
  1040.     INTEGER008 = 0
  1041.     INTEGER049 = 0
  1042.     INTEGER020 = 0
  1043.     INTEGER053 = 0
  1044.     INTEGER054 = 0
  1045.     INTEGER048 = 0
  1046.     STRING036 = ""
  1047.     INTEGER047 = 0
  1048.     INTEGER050 = 0
  1049.     INTEGER051 = 0
  1050.     INTEGER052 = 1
  1051.     INTEGER060 = 0
  1052.     FOpen 5, PPEPath() + "vote" + STRING011 + ".ans", 0, 0
  1053.     FDefIn 5
  1054.     :LABEL044
  1055.     If (Ferr(5)) Goto LABEL045
  1056.     Inc INTEGER050
  1057.     FDGet STRING036
  1058.     INTEGER060 = STRING036 + INTEGER060
  1059.     Goto LABEL044
  1060.     :LABEL045
  1061.     FClose 5
  1062.     INTEGER050 = INTEGER050 - 1
  1063.     STRING033 = PPEPath() + "vote" + STRING011 + ".ans"
  1064.     STRING034 = PPEPath() + "vote" + STRING011 + ".que"
  1065.     STRING035 = ReadLine(STRING034, 1)
  1066.     FOpen 2, STRING034, 0, 0
  1067.     FDefIn 2
  1068.     :LABEL046
  1069.     If (Ferr(2)) Goto LABEL047
  1070.     Inc INTEGER051
  1071.     FDGet TSTRING037(INTEGER051)
  1072.     TSTRING037(INTEGER051) = Left(TSTRING037(INTEGER051), 52)
  1073.     Goto LABEL046
  1074.     :LABEL047
  1075.     FClose 2
  1076.     Cls
  1077.     PrintLn "Q: ", STRING035
  1078.     PrintLn 
  1079.     PrintLn "@X0EPossible Answers:                                    @X0C0    25   50   75  100"
  1080.     PrintLn "                                                     @X04├┬┬┬┬┼┬┬┬┬┼┬┬┬┬┼┬┬┬┬┤"
  1081.     For INTEGER048 = 1 To INTEGER050
  1082.         If (INTEGER048 > 16) Break
  1083.         TINTEGER046(INTEGER048) = ReadLine(STRING033, INTEGER048)
  1084.         INTEGER049 = INTEGER049 + TINTEGER046(INTEGER048)
  1085.         If (TINTEGER046(INTEGER048) == "") TINTEGER046(INTEGER048) = "0"
  1086.         Inc INTEGER047
  1087.     Next
  1088.     For INTEGER048 = 1 To INTEGER047
  1089.         If (INTEGER048 > 16) Goto LABEL048
  1090.         If (INTEGER048 > INTEGER047) Goto LABEL048
  1091.         TINTEGER046(INTEGER048) = (TINTEGER046(INTEGER048) * 100) / INTEGER049
  1092.         :LABEL048
  1093.         If (TINTEGER046(INTEGER048) == 0) Then
  1094.             TSTRING032(0) = "@X09■@X0A····················"
  1095.             Goto LABEL049
  1096.         ElseIf (TINTEGER046(INTEGER048) <= 5) Then
  1097.             TSTRING032(0) = "@X09■@X0A■···················"
  1098.             Goto LABEL049
  1099.         ElseIf (TINTEGER046(INTEGER048) <= 10) Then
  1100.             TSTRING032(0) = "@X09■@X0A■■··················"
  1101.             Goto LABEL049
  1102.         ElseIf (TINTEGER046(INTEGER048) <= 15) Then
  1103.             TSTRING032(0) = "@X09■@X0A■■■·················"
  1104.             Goto LABEL049
  1105.         ElseIf (TINTEGER046(INTEGER048) <= 20) Then
  1106.             TSTRING032(0) = "@X09■@X0A■■■■················"
  1107.             Goto LABEL049
  1108.         ElseIf (TINTEGER046(INTEGER048) <= 25) Then
  1109.             TSTRING032(0) = "@X09■@X0A■■■■■···············"
  1110.             Goto LABEL049
  1111.         ElseIf (TINTEGER046(INTEGER048) <= 30) Then
  1112.             TSTRING032(0) = "@X09■@X0A■■■■■■··············"
  1113.             Goto LABEL049
  1114.         ElseIf (TINTEGER046(INTEGER048) <= 35) Then
  1115.             TSTRING032(0) = "@X09■@X0A■■■■■■■·············"
  1116.             Goto LABEL049
  1117.         ElseIf (TINTEGER046(INTEGER048) <= 40) Then
  1118.             TSTRING032(0) = "@X09■@X0A■■■■■■■■············"
  1119.             Goto LABEL049
  1120.         ElseIf (TINTEGER046(INTEGER048) <= 45) Then
  1121.             TSTRING032(0) = "@X09■@X0A■■■■■■■■■···········"
  1122.             Goto LABEL049
  1123.         ElseIf (TINTEGER046(INTEGER048) <= 50) Then
  1124.             TSTRING032(0) = "@X09■@X0A■■■■■■■■■■··········"
  1125.             Goto LABEL049
  1126.         ElseIf (TINTEGER046(INTEGER048) <= 55) Then
  1127.             TSTRING032(0) = "@X09■@X0A■■■■■■■■■■■·········"
  1128.             Goto LABEL049
  1129.         ElseIf (TINTEGER046(INTEGER048) <= 60) Then
  1130.             TSTRING032(0) = "@X09■@X0A■■■■■■■■■■■■········"
  1131.             Goto LABEL049
  1132.         ElseIf (TINTEGER046(INTEGER048) <= 65) Then
  1133.             TSTRING032(0) = "@X09■@X0A■■■■■■■■■■■■■·······"
  1134.             Goto LABEL049
  1135.         ElseIf (TINTEGER046(INTEGER048) <= 70) Then
  1136.             TSTRING032(0) = "@X09■@X0A■■■■■■■■■■■■■■······"
  1137.             Goto LABEL049
  1138.         ElseIf (TINTEGER046(INTEGER048) <= 75) Then
  1139.             TSTRING032(0) = "@X09■@X0A■■■■■■■■■■■■■■■·····"
  1140.             Goto LABEL049
  1141.         ElseIf (TINTEGER046(INTEGER048) <= 80) Then
  1142.             TSTRING032(0) = "@X09■@X0A■■■■■■■■■■■■■■■■····"
  1143.             Goto LABEL049
  1144.         ElseIf (TINTEGER046(INTEGER048) <= 85) Then
  1145.             TSTRING032(0) = "@X09■@X0A■■■■■■■■■■■■■■■■■···"
  1146.             Goto LABEL049
  1147.         ElseIf (TINTEGER046(INTEGER048) <= 90) Then
  1148.             TSTRING032(0) = "@X09■@X0A■■■■■■■■■■■■■■■■■■··"
  1149.             Goto LABEL049
  1150.         ElseIf (TINTEGER046(INTEGER048) <= 95) Then
  1151.             TSTRING032(0) = "@X09■@X0A■■■■■■■■■■■■■■■■■■■·"
  1152.             Goto LABEL049
  1153.         ElseIf (TINTEGER046(INTEGER048) <= 100) Then
  1154.             TSTRING032(0) = "@X09■■■■■■■■■■■■■■■■■■■■@X0E■"
  1155.             Goto LABEL049
  1156.         Endif
  1157.         If (TINTEGER046(INTEGER048) >= 101) Then
  1158.             Goto LABEL048
  1159.         Endif
  1160.         :LABEL049
  1161.         INTEGER052 = INTEGER052 + 1
  1162.         INTEGER053 = Len(TSTRING037(INTEGER052))
  1163.         INTEGER054 = 50 - INTEGER053
  1164.         PrintLn "@X0B", TSTRING037(INTEGER052), Space(INTEGER054), " ", TSTRING032(0), " ", TINTEGER046(INTEGER048), "%"
  1165.     Next
  1166.     PrintLn "                                        @X04             ├┴┴┴┴┼┴┴┴┴┼┴┴┴┴┼┴┴┴┴┤"
  1167.     PrintLn "                                                     @X0C0    25   50   75  100"
  1168.     PrintLn "     @X0AVoted on by@X0C ", INTEGER060, " @X0Acallers"
  1169.     PrintLn 
  1170.     Gosub LABEL050
  1171.     Goto LABEL010
  1172.     :LABEL050
  1173.     STRING041 = "Voter++ - " + TSTRING046(13)
  1174.     BOOLEAN001 = 0
  1175.     INTEGER055 = Len(STRING041)
  1176.     STRING041 = Trim(STRING041, " ")
  1177.     STRING042 = Inkey()
  1178.     STRING043 = 0
  1179.     STRING039 = GetX()
  1180.     STRING040 = GetY()
  1181.     Print STRING041
  1182.     AnsiPos STRING039, STRING040
  1183.     :LABEL051
  1184.     If (STRING043) Goto LABEL052
  1185.     If (STRING042 <> "") Then
  1186.         STRING043 = 1
  1187.     Endif
  1188.     STRING044 = "@X0" + Random(9)
  1189.     If (INTEGER055 > Len(STRING041)) Then
  1190.         AnsiPos STRING039, STRING040
  1191.         Color STRING044
  1192.         Print STRING041
  1193.         INTEGER055 = 1
  1194.     Else
  1195.         AnsiPos STRING039, STRING040
  1196.         Color STRING044
  1197.         Print STRING041
  1198.         INTEGER055 = Len(STRING041) + 1
  1199.     Endif
  1200.     Inc INTEGER055
  1201.     STRING042 = Inkey()
  1202.     If (STRING042 <> "") Then
  1203.         STRING043 = 1
  1204.     Endif
  1205.     Delay 3
  1206.     Goto LABEL051
  1207.     :LABEL052
  1208.     AnsiPos STRING039, STRING040
  1209.     Print "@CLREOL@"
  1210.     Return
  1211.     :LABEL053
  1212.     STRING045 = PPEPath() + "vote" + I2S(STRING011, 10) + ".ans"
  1213.     If (FileInf(STRING045, 4) == 0) Then
  1214.         PrintLn 
  1215.         PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
  1216.         PrintLn "@X10│  @X1EThere have been no votes on this question yet, *@X1CYOU@X1E* can be the first one! @X19│@X0F"
  1217.         PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X0F"
  1218.         Print "                 "
  1219.         Gosub LABEL050
  1220.         Goto LABEL010
  1221.     Endif
  1222.     Return
  1223.     :LABEL054
  1224.     INTEGER063 = 0
  1225.     STRING050 = ReadLine(PPEPath() + PPEName() + ".CFG", 1)
  1226.     INTEGER030 = Len(U_Name())
  1227.     PrintLn 
  1228.     Print "@X0EGathering Stats "
  1229.     For INTEGER061 = 1 To S2I(STRING050, 10)
  1230.         If (INTEGER063 == 44) Gosub LABEL057
  1231.         Inc INTEGER063
  1232.         Print "@X0B·@X0F"
  1233.         FOpen 4, PPEPath() + "VOTE" + I2S(INTEGER061, 10) + ".NAM", 0, 0
  1234.         FDefIn 4
  1235.         :LABEL055
  1236.         If (Ferr(4)) Goto LABEL056
  1237.         FDGet STRING016
  1238.         If (Left(STRING016, INTEGER030) == U_Name()) Then
  1239.             INTEGER062 = INTEGER062 + 1
  1240.         Endif
  1241.         Goto LABEL055
  1242.         :LABEL056
  1243.         FClose 4
  1244.     Next
  1245.     Newlines 2
  1246.     PrintLn "               @X10┌────────────────────────────────────────────────────────@X19┐@X0F"
  1247.     If (S2I(STRING050, 10) <= 9) Then
  1248.         PrintLn "               @X10│    @X1BThere are @X1C", STRING050, "@X1B Voting Questions in the Voter++ Door    @X19│@X0F"
  1249.     ElseIf (S2I(STRING050, 10) >= 10) Then
  1250.         PrintLn "               @X10│    @X1BThere are@X1C ", STRING050, "@X1B Voting Questions in the Voter++ Door   @X19│@X0F"
  1251.     Endif
  1252.     If (INTEGER062 <= 9) Then
  1253.         PrintLn "               @X10│        @X1A@FIRST:8R@ you have voted on@X1C ", INTEGER062, "@X1A Questions.         @X19│@X0F"
  1254.     ElseIf (INTEGER062 >= 10) Then
  1255.         PrintLn "               @X10│        @X1A@FIRST:8R@ you have voted on@X1C ", INTEGER062, "@X1A Questions.        @X19│@X0F"
  1256.     Endif
  1257.     PrintLn "               @X10└@X19────────────────────────────────────────────────────────┘@X0F"
  1258.     PrintLn 
  1259.     End
  1260.     :LABEL057
  1261.     Newline
  1262.     Print "                "
  1263.     INTEGER063 = 0
  1264.     Return
  1265.     If (Exist(PPEPath() + "UNIVERSL.KEY")) Goto LABEL058
  1266.     If (Exist(PPEPath() + "UNI.KEY")) Goto LABEL059
  1267.     :LABEL058
  1268.     FOpen 1, PPEPath() + "UNIVERSL.KEY", 0, 0
  1269.     FDefIn 1
  1270.     For INTEGER006 = 1 To 3
  1271.         FDGet TSTRING002(INTEGER006)
  1272.     Next
  1273.     FClose 1
  1274.     STRING001 = TSTRING002(1) + TSTRING002(2)
  1275.     STRING001 = Strip(STRING001, " ")
  1276.     For INTEGER004 = 1 To Len(STRING001)
  1277.         TINTEGER005(INTEGER004) = Asc(Mid(STRING001, INTEGER004, 1))
  1278.     Next
  1279.     INTEGER002 = 0
  1280.     For INTEGER004 = 1 To 99
  1281.         INTEGER002 = INTEGER002 + TINTEGER005(INTEGER004)
  1282.     Next
  1283.     INTEGER003 = INTEGER002 * 659
  1284.     INTEGER001 = INTEGER003
  1285.     BOOLEAN003 = 0
  1286.     If (INTEGER003 <> TSTRING002(3)) Then
  1287.         BOOLEAN003 = 0
  1288.     Else
  1289.         BOOLEAN003 = 1
  1290.     Endif
  1291.     Return
  1292.     :LABEL059
  1293.     FOpen 1, PPEPath() + "UNI.KEY", 0, 0
  1294.     FDefIn 1
  1295.     For INTEGER006 = 1 To 3
  1296.         FDGet TSTRING002(INTEGER006)
  1297.     Next
  1298.     FClose 1
  1299.     STRING001 = TSTRING002(1) + TSTRING002(2)
  1300.     STRING001 = Strip(STRING001, " ")
  1301.     For INTEGER004 = 1 To Len(STRING001)
  1302.         TINTEGER005(INTEGER004) = Asc(Mid(STRING001, INTEGER004, 1))
  1303.     Next
  1304.     INTEGER002 = 0
  1305.     For INTEGER004 = 1 To 99
  1306.         INTEGER002 = INTEGER002 + TINTEGER005(INTEGER004)
  1307.     Next
  1308.     INTEGER003 = INTEGER002 * 659
  1309.     INTEGER001 = INTEGER003
  1310.     BOOLEAN003 = 0
  1311.     If (INTEGER003 <> TSTRING002(3)) Then
  1312.         BOOLEAN003 = 0
  1313.     Else
  1314.         BOOLEAN003 = 1
  1315.     Endif
  1316.     Return
  1317.  
  1318. ;------------------------------------------------------------------------------
  1319. ;
  1320. ; Usage report (before postprocessing)
  1321. ;
  1322. ; ■ Statements used :
  1323. ;
  1324. ;    3       End
  1325. ;    17      Cls
  1326. ;    16      Color 
  1327. ;    333     Goto 
  1328. ;    302     Let 
  1329. ;    19      Print 
  1330. ;    216     PrintLn 
  1331. ;    229     If 
  1332. ;    2       DispFile 
  1333. ;    22      FOpen 
  1334. ;    1       FAppend 
  1335. ;    35      FClose 
  1336. ;    2       FGet 
  1337. ;    1       FPutLn 
  1338. ;    1       StartDisp 
  1339. ;    1       GetUser
  1340. ;    8       Delete 
  1341. ;    4       Log 
  1342. ;    21      InputStr 
  1343. ;    24      Gosub 
  1344. ;    14      Return
  1345. ;    12      Delay 
  1346. ;    14      Inc 
  1347. ;    2       Dec 
  1348. ;    5       Newline
  1349. ;    7       Newlines 
  1350. ;    1       GetToken 
  1351. ;    1       Call 
  1352. ;    2       OpText 
  1353. ;    45      AnsiPos 
  1354. ;    14      FDefIn 
  1355. ;    6       FDefOut 
  1356. ;    14      FDGet 
  1357. ;    7       FDPutLn 
  1358. ;    8       Redim 
  1359. ;
  1360. ;
  1361. ; ■ Functions used :
  1362. ;
  1363. ;    18      -
  1364. ;    15      *
  1365. ;    13      /
  1366. ;    266     +
  1367. ;    21      -
  1368. ;    89      ==
  1369. ;    4       <>
  1370. ;    47      <
  1371. ;    85      <=
  1372. ;    14      >
  1373. ;    105     >=
  1374. ;    126     !
  1375. ;    92      &&
  1376. ;    41      ||
  1377. ;    48      Len(
  1378. ;    44      Upper()
  1379. ;    3       Mid()
  1380. ;    8       Left()
  1381. ;    29      Space()
  1382. ;    8       Ferr()
  1383. ;    3       Asc()
  1384. ;    4       RTrim()
  1385. ;    1       Trim()
  1386. ;    1       Random()
  1387. ;    1       Date()
  1388. ;    2       Time()
  1389. ;    9       U_Name()
  1390. ;    1       NoChar()
  1391. ;    3       Strip()
  1392. ;    3       Inkey()
  1393. ;    1       String()
  1394. ;    5       Mask_Ascii()
  1395. ;    58      PPEPath()
  1396. ;    18      ReadLine()
  1397. ;    7       SysopSec()
  1398. ;    8       CurSec()
  1399. ;    6       Exist()
  1400. ;    2       I2S()
  1401. ;    40      S2I()
  1402. ;    1       AnsiOn()
  1403. ;    1       GetX()
  1404. ;    1       GetY()
  1405. ;    14      DefColor()
  1406. ;    2       FileInf()
  1407. ;    16      PPEName()
  1408. ;
  1409. ;------------------------------------------------------------------------------
  1410. ;
  1411. ; Analysis flags : Cs
  1412. ;
  1413. ; C - Call child PPE ■ 3
  1414. ;     This is usually normal, but may be a tricky way to launch some
  1415. ;     sysop-only commands.
  1416. ;     ■ Search for : CALL
  1417. ;
  1418. ; s - Sysop level access ■ 5
  1419. ;     Program is reading the sysop access level, this may be normal
  1420. ;     but still it is very suspect. It is the best way to give a user
  1421. ;     all priviledges. Check!
  1422. ;     ■ Search for : SYSOPSEC()
  1423. ;
  1424. ;------------------------------------------------------------------------------
  1425. ;
  1426. ; Postprocessing report
  1427. ;
  1428. ;    41      For/Next
  1429. ;    2       While/EndWhile
  1430. ;    64      If/Then or If/Then/Else
  1431. ;    4       Select Case
  1432. ;
  1433. ;------------------------------------------------------------------------------
  1434. ;                 AEGiS Corp - Break the routines, code against the machines!
  1435. ;------------------------------------------------------------------------------
  1436.